/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef IamModel_h
#define IamModel_h

@interface UserAttachment :NSObject

/// 公司名称
@property (strong,nonatomic,nonnull)  NSString*  remark;

/// 主营行业
@property (strong,nonatomic,nonnull)  NSString*  industry;

/// 主营行业子选项
@property (strong,nonatomic,nonnull)  NSString*  subIndustry;

/// 主营业务
@property (strong,nonatomic,nonnull)  NSString*  business;

/// 网站
@property (strong,nonatomic,nonnull)  NSString*  website;

/// 国家
@property (strong,nonatomic,nonnull)  NSString*  cpState;

/// 省
@property (strong,nonatomic,nonnull)  NSString*  cpProvince;

/// 市
@property (strong,nonatomic,nonnull)  NSString*  cpCity;

/// 区县
@property (strong,nonatomic,nonnull)  NSString*  cpCountry;

/// 详细地址
@property (strong,nonatomic,nonnull)  NSString*  cpAddress;

/// 联系手机
@property (strong,nonatomic,nonnull)  NSString*  cpTelphone;


-(id) initWithRemark:(NSString*) remark
    industry:(NSString*)industry
    subIndustry:(NSString*)subIndustry
    business:(NSString*)business
    website:(NSString*)website
    cpState:(NSString*)cpState
    cpProvince:(NSString*)cpProvince
    cpCity:(NSString*)cpCity
    cpCountry:(NSString*)cpCountry
    cpAddress:(NSString*)cpAddress
    cpTelphone:(NSString*)cpTelphone;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdateSubUserInfo :NSObject

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 手机号码，区号-手机号
@property (strong,nonatomic,nonnull)  NSString*  phone;

/// 邮箱
@property (strong,nonatomic,nonnull)  NSString*  email;


-(id) initWithDescription:(NSString*) descriptionValue
    phone:(NSString*)phone
    email:(NSString*)email;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface MFAInfo :NSObject

/// 用户名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 秘钥
@property (strong,nonatomic,nonnull)  NSString*  secret;


-(id) initWithName:(NSString*) name
    secret:(NSString*)secret;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SendBatchMsg :NSObject

/// 模版code
@property (strong,nonatomic,nonnull)  NSNumber*  templateId;

/// 模版参数
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  templateParam;

/// 业务编码(和产品申请)
@property (strong,nonatomic,nonnull)  NSString*  smsMessageSource;

/// 用户pin
@property (strong,nonatomic,nonnull)  NSString*  pin;

/// 手机号
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  mobileNumSet;


-(id) initWithTemplateId:(NSNumber*) templateId
    templateParam:(NSArray<NSString*>*)templateParam
    smsMessageSource:(NSString*)smsMessageSource
    pin:(NSString*)pin
    mobileNumSet:(NSArray<NSString*>*)mobileNumSet;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface GroupDetail :NSObject

/// 用户组ID
@property (strong,nonatomic,nonnull)  NSString*  groupId;

/// 用户组名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 京东云资源标识(jrn)
@property (strong,nonatomic,nonnull)  NSString*  jrn;

/// 用户组描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 用户组创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 用户组更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithGroupId:(NSString*) groupId
    name:(NSString*)name
    jrn:(NSString*)jrn
    descriptionValue:(NSString*)descriptionValue
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Policy :NSObject

/// 策略id
@property (strong,nonatomic,nonnull)  NSString*  policyId;

/// 策略名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 京东云资源标识(jrn)
@property (strong,nonatomic,nonnull)  NSString*  jrn;

/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 策略类型：0-系统策略，1-用户策略
@property (strong,nonatomic,nonnull)  NSString*  policyType;

/// 策略版本号
@property (strong,nonatomic,nonnull)  NSString*  version;

/// 默认策略文档版本
@property (strong,nonatomic,nonnull)  NSNumber*  defaultEdition;

/// 策略创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 策略更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithPolicyId:(NSString*) policyId
    name:(NSString*)name
    jrn:(NSString*)jrn
    descriptionValue:(NSString*)descriptionValue
    policyType:(NSString*)policyType
    version:(NSString*)version
    defaultEdition:(NSNumber*)defaultEdition
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RemovePermissionInfo :NSObject

/// 权限id
@property (strong,nonatomic,nonnull)  NSNumber*  permissionId;


-(id) initWithPermissionId:(NSNumber*) permissionId;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AuthenticationInfo :NSObject

/// 主账号pin
@property (strong,nonatomic,nonnull)  NSString*  account;

/// 子账号pin
@property (strong,nonatomic,nonnull)  NSString*  subUser;

/// 操作类型,格式：serviceName:operationId
@property (strong,nonatomic,nonnull)  NSString*  action;

/// 资源信息,格式：jrn:service:region:accountId:resourceType/resourceId/subresourceType/subresourceId
@property (strong,nonatomic,nonnull)  NSString*  resource;


-(id) initWithAccount:(NSString*) account
    subUser:(NSString*)subUser
    action:(NSString*)action
    resource:(NSString*)resource;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PolicyEditionDetail :NSObject

/// 策略文档
@property (strong,nonatomic,nonnull)  NSString*  document;

/// 是否为默认版本
@property (strong,nonatomic,nonnull)  NSNumber*  isDefaultEdition;

/// 策略文档版本
@property (strong,nonatomic,nonnull)  NSNumber*  edition;

/// 策略创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithDocument:(NSString*) document
    isDefaultEdition:(NSNumber*)isDefaultEdition
    edition:(NSNumber*)edition
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdatePolicyInfo :NSObject

/// 策略信息详情，最多6144个字符
@property (strong,nonatomic,nonnull)  NSString*  content;


-(id) initWithContent:(NSString*) content;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreatePolicyEditionInfo :NSObject

/// 策略文档，最多6144个字符
@property (strong,nonatomic,nonnull)  NSString*  policyDocument;

/// 是否设置当前策略文档为默认版本
@property (strong,nonatomic,nonnull)  NSNumber*  setAsDefault;


-(id) initWithPolicyDocument:(NSString*) policyDocument
    setAsDefault:(NSNumber*)setAsDefault;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AzSaleStatusVo :NSObject

/// null
@property (strong,nonatomic,nonnull)  NSString*  az;

/// 是否售罄 (0未售罄 1售罄)
@property (strong,nonatomic,nonnull)  NSNumber*  canSale;

/// 是否可见(1可见 0不可见)
@property (strong,nonatomic,nonnull)  NSNumber*  visible;


-(id) initWithAz:(NSString*) az
    canSale:(NSNumber*)canSale
    visible:(NSNumber*)visible;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateGroupRes :NSObject

/// 用户组ID
@property (strong,nonatomic,nonnull)  NSString*  groupId;

/// 用户组名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 京东云资源标识(jrn)
@property (strong,nonatomic,nonnull)  NSString*  jrn;

/// 用户组描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 用户组创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 用户组更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithGroupId:(NSString*) groupId
    name:(NSString*)name
    jrn:(NSString*)jrn
    descriptionValue:(NSString*)descriptionValue
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AzMappingVo :NSObject

/// 逻辑 Az
@property (strong,nonatomic,nonnull)  NSString*  laz;

/// 物理 Az
@property (strong,nonatomic,nonnull)  NSString*  paz;


-(id) initWithLaz:(NSString*) laz
    paz:(NSString*)paz;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface EmailSmsInfo :NSObject

/// 用户pin
@property (strong,nonatomic,nonnull)  NSString*  createPin;

/// 邮件标题
@property (strong,nonatomic,nonnull)  NSString*  title;

/// 发送类型 1 发邮件 2 发短信
@property (strong,nonatomic,nonnull)  NSNumber*  sendType;

/// 邮件内容
@property (strong,nonatomic,nonnull)  NSString*  content;

/// 接收人
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  receives;

/// 模版code
@property (strong,nonatomic,nonnull)  NSNumber*  templateId;

/// 模版参数
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  templateParam;

/// 业务编码(和产品申请)
@property (strong,nonatomic,nonnull)  NSString*  smsMessageSource;


-(id) initWithCreatePin:(NSString*) createPin
    title:(NSString*)title
    sendType:(NSNumber*)sendType
    content:(NSString*)content
    receives:(NSArray<NSString*>*)receives
    templateId:(NSNumber*)templateId
    templateParam:(NSArray<NSString*>*)templateParam
    smsMessageSource:(NSString*)smsMessageSource;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PasswordPolicyRule :NSObject

/// 是否包含大写字母
@property (strong,nonatomic,nonnull)  NSNumber*  requireUppercaseCharacters;

/// 是否包含小写字母
@property (strong,nonatomic,nonnull)  NSNumber*  requireLowercaseCharacters;

/// 是否包含数字
@property (strong,nonatomic,nonnull)  NSNumber*  requireNumbers;

/// 是否包含特殊字符
@property (strong,nonatomic,nonnull)  NSNumber*  requireSpecialCharacters;


-(id) initWithRequireUppercaseCharacters:(NSNumber*) requireUppercaseCharacters
    requireLowercaseCharacters:(NSNumber*)requireLowercaseCharacters
    requireNumbers:(NSNumber*)requireNumbers
    requireSpecialCharacters:(NSNumber*)requireSpecialCharacters;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdateGroupInfo :NSObject

/// 用户组描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;


-(id) initWithDescription:(NSString*) descriptionValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Resource :NSObject

/// 资源id集合，传*表示对所有id生效
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ids;

/// 资源类型，云主机-server、镜像-image、云硬盘-volume、vpc-vpc、公网Ip-floatingIp、负载均衡-loadbalance、云数据库(mysql)-database、云缓存-cache
@property (strong,nonatomic,nonnull)  NSString*  type;


-(id) initWithIds:(NSArray<NSString*>*) ids
    type:(NSString*)type;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateSubUserInfo :NSObject

/// 子用户名，支持4~20位的字母，数字以及-和_，以字母开头
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 按照密码策略设置，默认8~20位，至少包含一个小写字母、大写字母和数字
@property (strong,nonatomic,nonnull)  NSString*  password;

/// 手机号码，区号-手机号
@property (strong,nonatomic,nonnull)  NSString*  phone;

/// 邮箱
@property (strong,nonatomic,nonnull)  NSString*  email;

/// 是否创建accessKey，默认false
@property (strong,nonatomic,nonnull)  NSNumber*  createAk;

/// 子用户首次登录是否需要重置密码，默认false
@property (strong,nonatomic,nonnull)  NSNumber*  needResetPassword;

/// 子用户是否支持控制台登录，默认true
@property (strong,nonatomic,nonnull)  NSNumber*  consoleLogin;

/// 是否自动生成密码，默认false
@property (strong,nonatomic,nonnull)  NSNumber*  autoGeneratePassword;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    password:(NSString*)password
    phone:(NSString*)phone
    email:(NSString*)email
    createAk:(NSNumber*)createAk
    needResetPassword:(NSNumber*)needResetPassword
    consoleLogin:(NSNumber*)consoleLogin
    autoGeneratePassword:(NSNumber*)autoGeneratePassword;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SubUserInfo :NSObject

/// 子用户名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 用户创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface GroupInfo :NSObject

/// 用户组ID
@property (strong,nonatomic,nonnull)  NSString*  groupId;

/// 用户组名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 京东云资源标识(jrn)
@property (strong,nonatomic,nonnull)  NSString*  jrn;

/// Description
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 用户组创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 用户组更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;

/// Policies
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  policies;


-(id) initWithGroupId:(NSString*) groupId
    name:(NSString*)name
    jrn:(NSString*)jrn
    descriptionValue:(NSString*)descriptionValue
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime
    policies:(NSArray<NSString*>*)policies;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Flags :NSObject

/// Value
@property (strong,nonatomic,nonnull)  NSNumber*  value;


-(id) initWithValue:(NSNumber*) value;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LoginProfile :NSObject

/// 子用户名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 要求下次登录时重设密码
@property (strong,nonatomic,nonnull)  NSNumber*  passwordResetRequired;

/// 要求必须绑定虚拟MFA设备
@property (strong,nonatomic,nonnull)  NSNumber*  mFABindRequired;


-(id) initWithName:(NSString*) name
    passwordResetRequired:(NSNumber*)passwordResetRequired
    mFABindRequired:(NSNumber*)mFABindRequired;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateRoleInfo :NSObject

/// 角色名，支持4~64位的字母，数字以及-和_, 以字母开头
@property (strong,nonatomic,nonnull)  NSString*  roleName;

/// 角色类型，3-服务角色，4-用户角色
@property (strong,nonatomic,nonnull)  NSNumber*  type;

/// 角色信任关系策略
@property (strong,nonatomic,nonnull)  NSString*  assumeRolePolicyDocument;

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 最大会话时长3600~43200秒，默认3600秒
@property (strong,nonatomic,nonnull)  NSNumber*  maxSessionDuration;


-(id) initWithRoleName:(NSString*) roleName
    type:(NSNumber*)type
    assumeRolePolicyDocument:(NSString*)assumeRolePolicyDocument
    descriptionValue:(NSString*)descriptionValue
    maxSessionDuration:(NSNumber*)maxSessionDuration;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface APIInfo :NSObject

/// 访问级别
@property (strong,nonatomic,nonnull)  NSNumber*  accessLevel;

/// action name
@property (strong,nonatomic,nonnull)  NSString*  actionName;

/// action type
@property (strong,nonatomic,nonnull)  NSString*  actionType;

/// 资源
@property (strong,nonatomic,nonnull)  NSString*  resource;

/// 资源类型
@property (strong,nonatomic,nonnull)  NSString*  resourceType;

/// 子资源类型
@property (strong,nonatomic,nonnull)  NSString*  subResourceType;

/// 三级资源类型
@property (strong,nonatomic,nonnull)  NSString*  terResourceType;


-(id) initWithAccessLevel:(NSNumber*) accessLevel
    actionName:(NSString*)actionName
    actionType:(NSString*)actionType
    resource:(NSString*)resource
    resourceType:(NSString*)resourceType
    subResourceType:(NSString*)subResourceType
    terResourceType:(NSString*)terResourceType;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ConditionMappingVo :NSObject

/// 条件键Key
@property (strong,nonatomic,nonnull)  NSString*  conditionKey;

/// 符合条件键的值列表
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  values;


-(id) initWithConditionKey:(NSString*) conditionKey
    values:(NSArray<NSString*>*)values;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SubUserAccessKey :NSObject

/// accessKey
@property (strong,nonatomic,nonnull)  NSString*  accessKey;

/// secretAccessKey
@property (strong,nonatomic,nonnull)  NSString*  secretAccessKey;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 禁用/启用状态[0-禁用,1-启用]
@property (strong,nonatomic,nonnull)  NSNumber*  status;

/// 删除/有效状态[0-删除,1-有效]
@property (strong,nonatomic,nonnull)  NSNumber*  yn;


-(id) initWithAccessKey:(NSString*) accessKey
    secretAccessKey:(NSString*)secretAccessKey
    createTime:(NSString*)createTime
    status:(NSNumber*)status
    yn:(NSNumber*)yn;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ResultMsg :NSObject

/// 错误编码
@property (strong,nonatomic,nonnull)  NSString*  errorCode;

/// 错误信息
@property (strong,nonatomic,nonnull)  NSString*  errorMsg;


-(id) initWithErrorCode:(NSString*) errorCode
    errorMsg:(NSString*)errorMsg;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdateRoleInfo :NSObject

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 最大会话时长3600~43200秒，默认3600秒
@property (strong,nonatomic,nonnull)  NSNumber*  maxSessionDuration;


-(id) initWithDescription:(NSString*) descriptionValue
    maxSessionDuration:(NSNumber*)maxSessionDuration;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UserAccessKey :NSObject

/// accessKey
@property (strong,nonatomic,nonnull)  NSString*  accessKey;

/// accessKeySecret
@property (strong,nonatomic,nonnull)  NSString*  accessKeySecret;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 禁用/启用状态[0-禁用,1-启用]
@property (strong,nonatomic,nonnull)  NSNumber*  state;

/// 删除/有效状态[0-删除,1-有效]
@property (strong,nonatomic,nonnull)  NSNumber*  yn;


-(id) initWithAccessKey:(NSString*) accessKey
    accessKeySecret:(NSString*)accessKeySecret
    createTime:(NSString*)createTime
    state:(NSNumber*)state
    yn:(NSNumber*)yn;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SendSingleMsg :NSObject

/// 模版code
@property (strong,nonatomic,nonnull)  NSNumber*  templateId;

/// 模版参数
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  templateParam;

/// 业务编码(和产品申请)
@property (strong,nonatomic,nonnull)  NSString*  smsMessageSource;

/// 用户pin
@property (strong,nonatomic,nonnull)  NSString*  pin;

/// 手机号
@property (strong,nonatomic,nonnull)  NSString*  mobileNum;


-(id) initWithTemplateId:(NSNumber*) templateId
    templateParam:(NSArray<NSString*>*)templateParam
    smsMessageSource:(NSString*)smsMessageSource
    pin:(NSString*)pin
    mobileNum:(NSString*)mobileNum;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ListRoleInfo :NSObject

/// 角色名称
@property (strong,nonatomic,nonnull)  NSString*  roleName;

/// 角色类型，2-服务相关角色，3-服务角色，4-用户角色
@property (strong,nonatomic,nonnull)  NSNumber*  type;

/// 角色信任关系策略
@property (strong,nonatomic,nonnull)  NSString*  assumeRolePolicyDocument;

/// 描述，0~1000个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 创建角色的时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithRoleName:(NSString*) roleName
    type:(NSNumber*)type
    assumeRolePolicyDocument:(NSString*)assumeRolePolicyDocument
    descriptionValue:(NSString*)descriptionValue
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UserReqVo :NSObject

/// 用户pin
@property (strong,nonatomic,nonnull)  NSString*  pin;

/// 用户手机号
@property (strong,nonatomic,nonnull)  NSString*  cscPhone;

/// 用户邮箱
@property (strong,nonatomic,nonnull)  NSString*  cscEmail;

/// 用户名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 用户类型
@property (strong,nonatomic,nonnull)  NSNumber*  userType;

/// 公司名
@property (strong,nonatomic,nonnull)  NSString*  companyName;

/// 起始时间
@property (strong,nonatomic,nonnull)  NSString*  createTimeStart;

/// 结束时间
@property (strong,nonatomic,nonnull)  NSString*  createTimeEnd;

/// 欠费状态：
@property (strong,nonatomic,nonnull)  NSNumber*  arrearageStatus;

/// 用户分组，多个逗号分隔:1-自然流量，2-内部测试，3-内部重点，4-渠道用户
@property (strong,nonatomic,nonnull)  NSString*  groups;

/// 用户分组:1-自然流量，2-内部测试，3-内部重点，4-渠道用户
@property (strong,nonatomic,nonnull)  NSNumber*  group;

/// 计费白名单：1、在白名单  2、不在白名单
@property (strong,nonatomic,nonnull)  NSNumber*  billingWhite;

/// 渠道等级;1普通用户2测试用户4VIP用户8其他VIP用户16boss迁移账户
@property (strong,nonatomic,nonnull)  NSNumber*  tag;

/// 页大小
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;

/// 当前页
@property (strong,nonatomic,nonnull)  NSNumber*  currentPage;


-(id) initWithPin:(NSString*) pin
    cscPhone:(NSString*)cscPhone
    cscEmail:(NSString*)cscEmail
    name:(NSString*)name
    userType:(NSNumber*)userType
    companyName:(NSString*)companyName
    createTimeStart:(NSString*)createTimeStart
    createTimeEnd:(NSString*)createTimeEnd
    arrearageStatus:(NSNumber*)arrearageStatus
    groups:(NSString*)groups
    group:(NSNumber*)group
    billingWhite:(NSNumber*)billingWhite
    tag:(NSNumber*)tag
    pageSize:(NSNumber*)pageSize
    currentPage:(NSNumber*)currentPage;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateGroupInfo :NSObject

/// 群组名：支持4-32位的字母，数字以及-和_, 以字母开头
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PolicyDetail :NSObject

/// 策略id
@property (strong,nonatomic,nonnull)  NSString*  policyId;

/// 策略名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 京东云资源标识(jrn)
@property (strong,nonatomic,nonnull)  NSString*  jrn;

/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 策略类型
@property (strong,nonatomic,nonnull)  NSString*  policyType;

/// 策略版本号
@property (strong,nonatomic,nonnull)  NSString*  version;

/// 默认策略文档版本
@property (strong,nonatomic,nonnull)  NSNumber*  defaultEdition;

/// 策略文档
@property (strong,nonatomic,nonnull)  NSString*  content;

/// 策略创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 策略更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithPolicyId:(NSString*) policyId
    name:(NSString*)name
    jrn:(NSString*)jrn
    descriptionValue:(NSString*)descriptionValue
    policyType:(NSString*)policyType
    version:(NSString*)version
    defaultEdition:(NSNumber*)defaultEdition
    content:(NSString*)content
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdatePolicyDescriptionInfo :NSObject

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;


-(id) initWithDescription:(NSString*) descriptionValue;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PolicyEdition :NSObject

/// 是否为默认版本
@property (strong,nonatomic,nonnull)  NSNumber*  isDefaultEdition;

/// 策略文档版本
@property (strong,nonatomic,nonnull)  NSNumber*  edition;

/// 策略创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;


-(id) initWithIsDefaultEdition:(NSNumber*) isDefaultEdition
    edition:(NSNumber*)edition
    createTime:(NSString*)createTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdateLoginProfileInfo :NSObject

/// 子用户登录是否需要重置密码，默认false
@property (strong,nonatomic,nonnull)  NSNumber*  passwordResetRequired;

/// 指定密码，密码必须符合密码强度要求。关于密码强度设置接口，请参考describePasswordPolicy
@property (strong,nonatomic,nonnull)  NSString*  password;

/// 是否自动生成密码，默认false
@property (strong,nonatomic,nonnull)  NSNumber*  autoGeneratePassword;

/// 指定子用户在下次登录时是否必须绑定多因素认证器
@property (strong,nonatomic,nonnull)  NSNumber*  mFABindRequired;


-(id) initWithPasswordResetRequired:(NSNumber*) passwordResetRequired
    password:(NSString*)password
    autoGeneratePassword:(NSNumber*)autoGeneratePassword
    mFABindRequired:(NSNumber*)mFABindRequired;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RoleInfo :NSObject

/// 角色ID
@property (strong,nonatomic,nonnull)  NSString*  roleId;

/// 角色名称
@property (strong,nonatomic,nonnull)  NSString*  roleName;

/// 角色类型，2-服务相关角色，3-服务角色，4-用户角色
@property (strong,nonatomic,nonnull)  NSNumber*  type;

/// 信任实体信息
@property (strong,nonatomic,nonnull)  NSString*  assumeRolePolicyDocument;

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 最大会话时长3600~43200秒，默认3600秒
@property (strong,nonatomic,nonnull)  NSNumber*  maxSessionDuration;

/// 京东云资源标识(jrn)
@property (strong,nonatomic,nonnull)  NSString*  jrn;

/// 创建角色的时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 角色所属主账号
@property (strong,nonatomic,nonnull)  NSString*  account;


-(id) initWithRoleId:(NSString*) roleId
    roleName:(NSString*)roleName
    type:(NSNumber*)type
    assumeRolePolicyDocument:(NSString*)assumeRolePolicyDocument
    descriptionValue:(NSString*)descriptionValue
    maxSessionDuration:(NSNumber*)maxSessionDuration
    jrn:(NSString*)jrn
    createTime:(NSString*)createTime
    account:(NSString*)account;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateLoginProfileInfo :NSObject

/// 子用户登录是否需要重置密码，默认false
@property (strong,nonatomic,nonnull)  NSNumber*  passwordResetRequired;

/// 指定密码，密码必须符合密码强度要求。关于密码强度设置接口，请参考describePasswordPolicy
@property (strong,nonatomic,nonnull)  NSString*  password;

/// 是否自动生成密码，默认false
@property (strong,nonatomic,nonnull)  NSNumber*  autoGeneratePassword;

/// 指定子用户在下次登录时是否必须绑定虚拟MFA设备
@property (strong,nonatomic,nonnull)  NSNumber*  mFABindRequired;


-(id) initWithPasswordResetRequired:(NSNumber*) passwordResetRequired
    password:(NSString*)password
    autoGeneratePassword:(NSNumber*)autoGeneratePassword
    mFABindRequired:(NSNumber*)mFABindRequired;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RolePolicy :NSObject

/// 策略名称
@property (strong,nonatomic,nonnull)  NSString*  policyName;

/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 策略类型：0-系统策略，1-用户策略
@property (strong,nonatomic,nonnull)  NSString*  type;

/// 京东云策略资源描述
@property (strong,nonatomic,nonnull)  NSString*  policyJrn;


-(id) initWithPolicyName:(NSString*) policyName
    descriptionValue:(NSString*)descriptionValue
    type:(NSString*)type
    policyJrn:(NSString*)policyJrn;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Group :NSObject

/// 用户组ID
@property (strong,nonatomic,nonnull)  NSString*  groupId;

/// 用户组名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 京东云资源标识(jrn)
@property (strong,nonatomic,nonnull)  NSString*  jrn;

/// 用户组描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 子用户个数
@property (strong,nonatomic,nonnull)  NSNumber*  subUserSum;

/// 绑定策略个数
@property (strong,nonatomic,nonnull)  NSNumber*  policySum;

/// 用户组创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 用户组更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithGroupId:(NSString*) groupId
    name:(NSString*)name
    jrn:(NSString*)jrn
    descriptionValue:(NSString*)descriptionValue
    subUserSum:(NSNumber*)subUserSum
    policySum:(NSNumber*)policySum
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateSubUserRes :NSObject

/// 用户名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 密码
@property (strong,nonatomic,nonnull)  NSString*  password;

/// 邮箱
@property (strong,nonatomic,nonnull)  NSString*  email;

/// 手机号码
@property (strong,nonatomic,nonnull)  NSString*  phone;

/// accessKey
@property (strong,nonatomic,nonnull)  NSString*  accessKey;

/// AccessKey secret
@property (strong,nonatomic,nonnull)  NSString*  secretAccessKey;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithName:(NSString*) name
    password:(NSString*)password
    email:(NSString*)email
    phone:(NSString*)phone
    accessKey:(NSString*)accessKey
    secretAccessKey:(NSString*)secretAccessKey
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdateAssumeRolePolicyInfo :NSObject

/// 信任实体信息
@property (strong,nonatomic,nonnull)  NSString*  assumeRolePolicyDocument;


-(id) initWithAssumeRolePolicyDocument:(NSString*) assumeRolePolicyDocument;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface AddPermissionsInfo :NSObject

/// 权限id集合
@property (strong,nonatomic,nonnull)  NSArray<NSNumber*>*  permissionIds;


-(id) initWithPermissionIds:(NSArray<NSNumber*>*) permissionIds;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SubUser :NSObject

/// 用户名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 手机号码
@property (strong,nonatomic,nonnull)  NSString*  phone;

/// 邮箱
@property (strong,nonatomic,nonnull)  NSString*  email;

/// 描述信息
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 主账号
@property (strong,nonatomic,nonnull)  NSString*  account;

/// 用户创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 用户更新时间
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithName:(NSString*) name
    phone:(NSString*)phone
    email:(NSString*)email
    descriptionValue:(NSString*)descriptionValue
    account:(NSString*)account
    createTime:(NSString*)createTime
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface LoginProfileInfo :NSObject

/// 子用户名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 密码
@property (strong,nonatomic,nonnull)  NSString*  password;

/// 要求下次登录时重设密码
@property (strong,nonatomic,nonnull)  NSNumber*  passwordResetRequired;

/// 要求必须绑定多因素认证设备
@property (strong,nonatomic,nonnull)  NSNumber*  mFABindRequired;


-(id) initWithName:(NSString*) name
    password:(NSString*)password
    passwordResetRequired:(NSNumber*)passwordResetRequired
    mFABindRequired:(NSNumber*)mFABindRequired;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreatePolicyInfo :NSObject

/// 策略名，支持4~64位的字母，数字以及-和_, 以字母开头
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 策略文档，最多6144个字符
@property (strong,nonatomic,nonnull)  NSString*  content;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    content:(NSString*)content;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface SendOutSiteNotice :NSObject

/// 用户pin
@property (strong,nonatomic,nonnull)  NSString*  pin;

/// 邮件标题
@property (strong,nonatomic,nonnull)  NSString*  emailSubject;

/// 邮件内容
@property (strong,nonatomic,nonnull)  NSString*  emailContent;

/// 消息类型
@property (strong,nonatomic,nonnull)  NSString*  notifyBusinessTypeEnum;

/// 模版code
@property (strong,nonatomic,nonnull)  NSNumber*  templateId;

/// 模版参数
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  templateParam;

/// 业务编码(和产品申请)
@property (strong,nonatomic,nonnull)  NSString*  smsMessageSource;


-(id) initWithPin:(NSString*) pin
    emailSubject:(NSString*)emailSubject
    emailContent:(NSString*)emailContent
    notifyBusinessTypeEnum:(NSString*)notifyBusinessTypeEnum
    templateId:(NSNumber*)templateId
    templateParam:(NSArray<NSString*>*)templateParam
    smsMessageSource:(NSString*)smsMessageSource;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface VirtualMFADevice :NSObject

/// Base64加密后的二维码信息
@property (strong,nonatomic,nonnull)  NSString*  base64Qr;

/// 创建MFA设备相关信息
@property (strong,nonatomic,nonnull)  NSArray<MFAInfo*>*  mFAInfos;


-(id) initWithBase64Qr:(NSString*) base64Qr
    mFAInfos:(NSArray<MFAInfo*>*)mFAInfos;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface RegionAzVo :NSObject

/// 别名
@property (strong,nonatomic,nonnull)  NSString*  alias;

/// 地域
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 是否可见(1可见 0不可见)
@property (strong,nonatomic,nonnull)  NSNumber*  visible;

/// az状态信息
@property (strong,nonatomic,nonnull)  NSArray<AzSaleStatusVo*>*  azStatusList;


-(id) initWithAlias:(NSString*) alias
    region:(NSString*)region
    visible:(NSNumber*)visible
    azStatusList:(NSArray<AzSaleStatusVo*>*)azStatusList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface GlobalAzMappingVo :NSObject

/// 别名
@property (strong,nonatomic,nonnull)  NSString*  alias;

/// 地域
@property (strong,nonatomic,nonnull)  NSString*  region;

/// Az Mapping
@property (strong,nonatomic,nonnull)  NSArray<AzMappingVo*>*  mapping;


-(id) initWithAlias:(NSString*) alias
    region:(NSString*)region
    mapping:(NSArray<AzMappingVo*>*)mapping;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PasswordPolicy :NSObject

/// 密码长度，6~20位，默认8位
@property (strong,nonatomic,nonnull)  NSNumber*  length;

/// 密码有效期（天），0~1095，0表示永不过期
@property (strong,nonatomic,nonnull)  NSNumber*  age;

/// 密码过期后重置方式：0-联系主账号重置，1-子用户登录后重置
@property (strong,nonatomic,nonnull)  NSNumber*  expirationOperation;

/// 历史密码检查策略，禁止使用前(0~10)次密码，0表示不启用
@property (strong,nonatomic,nonnull)  NSNumber*  reusePrevention;

/// 1小时内使用错误密码最多(1~16)次
@property (strong,nonatomic,nonnull)  NSNumber*  retryTimes;

/// ValidLoginDuration
@property (strong,nonatomic,nonnull)  NSNumber*  validLoginDuration;

/// 密码字符类型，至少包含一种
@property (strong,nonatomic,nonnull)  PasswordPolicyRule*  rule;


-(id) initWithLength:(NSNumber*) length
    age:(NSNumber*)age
    expirationOperation:(NSNumber*)expirationOperation
    reusePrevention:(NSNumber*)reusePrevention
    retryTimes:(NSNumber*)retryTimes
    validLoginDuration:(NSNumber*)validLoginDuration
    rule:(PasswordPolicyRule*)rule;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface PermissionDetail :NSObject

/// 权限类型，只读-R、删除-D、修改-M
@property (strong,nonatomic,nonnull)  NSString*  permission;

/// 资源信息
@property (strong,nonatomic,nonnull)  NSArray<Resource*>*  resource;


-(id) initWithPermission:(NSString*) permission
    resource:(NSArray<Resource*>*)resource;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UpdatePermissionInfo :NSObject

/// 权限名称，1~32位数字、字符、中文、中划线、下划线
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 权限详细信息
@property (strong,nonatomic,nonnull)  NSArray<PermissionDetail*>*  content;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    content:(NSArray<PermissionDetail*>*)content;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface Permission :NSObject

/// 权限id
@property (strong,nonatomic,nonnull)  NSNumber*  idValue;

/// 主账号pin
@property (strong,nonatomic,nonnull)  NSString*  account;

/// 权限名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 权限类型
@property (strong,nonatomic,nonnull)  NSString*  permissionType;

/// 权限版本号
@property (strong,nonatomic,nonnull)  NSString*  version;

/// 权限内容
@property (strong,nonatomic,nonnull)  NSString*  content;

/// 权限详细信息
@property (strong,nonatomic,nonnull)  NSArray<PermissionDetail*>*  permissionDetailList;


-(id) initWithId:(NSNumber*) idValue
    account:(NSString*)account
    name:(NSString*)name
    descriptionValue:(NSString*)descriptionValue
    permissionType:(NSString*)permissionType
    version:(NSString*)version
    content:(NSString*)content
    permissionDetailList:(NSArray<PermissionDetail*>*)permissionDetailList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface UserResVo :NSObject

/// 用户pin
@property (strong,nonatomic,nonnull)  NSString*  pin;

/// 用户手机号
@property (strong,nonatomic,nonnull)  NSString*  cscPhone;

/// 用户邮箱
@property (strong,nonatomic,nonnull)  NSString*  cscEmail;

/// 创建时间
@property (strong,nonatomic,nonnull)  NSString*  createTime;

/// 用户类型
@property (strong,nonatomic,nonnull)  NSNumber*  userType;

/// 公司名
@property (strong,nonatomic,nonnull)  NSString*  companyName;

/// 姓名
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 欠费时间
@property (strong,nonatomic,nonnull)  NSString*  arrearageTime;

/// 用户标签：
@property (strong,nonatomic,nonnull)  Flags*  userTagObject;

/// 用户标签：
@property (strong,nonatomic,nonnull)  UserAttachment*  attachment;


-(id) initWithPin:(NSString*) pin
    cscPhone:(NSString*)cscPhone
    cscEmail:(NSString*)cscEmail
    createTime:(NSString*)createTime
    userType:(NSNumber*)userType
    companyName:(NSString*)companyName
    name:(NSString*)name
    arrearageTime:(NSString*)arrearageTime
    userTagObject:(Flags*)userTagObject
    attachment:(UserAttachment*)attachment;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ConditionStatement :NSObject

/// ConditionMapping列表，ConditionStatement 之间是“或”关系，同一个ConditionStatement下ConditionMapping是“且”关系，同一个ConditionMapping下多个value是“或”关系
@property (strong,nonatomic,nonnull)  NSArray<ConditionMappingVo*>*  conditionMappings;


-(id) initWithConditionMappings:(NSArray<ConditionMappingVo*>*) conditionMappings;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ServiceDetail :NSObject

/// 产品线名称
@property (strong,nonatomic,nonnull)  NSString*  serviceName;

/// 策略相关OpenAPI的Action列表
@property (strong,nonatomic,nonnull)  NSArray<APIInfo*>*  apiList;

/// 资源列表
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  resourceList;


-(id) initWithServiceName:(NSString*) serviceName
    apiList:(NSArray<APIInfo*>*)apiList
    resourceList:(NSArray<NSString*>*)resourceList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreatePermissionInfo :NSObject

/// 权限名称，1~32位数字、字母、中文、下划线、下划线、中划线
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 描述，0~256个字符
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

/// 权限详细信息
@property (strong,nonatomic,nonnull)  NSArray<PermissionDetail*>*  content;


-(id) initWithName:(NSString*) name
    descriptionValue:(NSString*)descriptionValue
    content:(NSArray<PermissionDetail*>*)content;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface BaseProductRegionVo :NSObject

/// 产品编码
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// az信息
@property (strong,nonatomic,nonnull)  NSArray<RegionAzVo*>*  regionAzVos;


-(id) initWithServiceCode:(NSString*) serviceCode
    regionAzVos:(NSArray<RegionAzVo*>*)regionAzVos;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* IamModel_h */
